home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 7 / Amiga Format AFCD07 (Dec 1996, Issue 91).iso / serious / shareware / programming / emacs-complete / fsf / emacs / src / m / next.h < prev    next >
C/C++ Source or Header  |  1994-08-28  |  4KB  |  136 lines

  1. /* Configuration file for the NeXT machine.
  2.    Copyright (C) 1990 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU Emacs.
  5.  
  6. GNU Emacs is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2, or (at your option)
  9. any later version.
  10.  
  11. GNU Emacs is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GNU Emacs; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20.  
  21. /* Say this machine is a next if not previously defined */
  22.  
  23. #ifndef NeXT
  24. #define NeXT
  25. #endif
  26.  
  27. /* The following three symbols give information on
  28.    the size of various data types.  */
  29.  
  30. #define SHORTBITS 16        /* Number of bits in a short */
  31.  
  32. #define INTBITS 32        /* Number of bits in an int */
  33.  
  34. #define LONGBITS 32        /* Number of bits in a long */
  35.  
  36. /* Let the compiler tell us what byte order architecture we're compiling for */
  37.  
  38. #ifdef __BIG_ENDIAN__
  39. #define BIG_ENDIAN
  40. #endif
  41.  
  42. /* Define how to take a char and sign-extend into an int.
  43.    On machines where char is signed, this is a no-op.  */
  44.  
  45. #define SIGN_EXTEND_CHAR(c) (c)
  46.  
  47. /* Use type int rather than a union, to represent Lisp_Object */
  48.  
  49. #define NO_UNION_TYPE
  50.  
  51. /* XINT must explicitly sign-extend */
  52.  
  53. #define EXPLICIT_SIGN_EXTEND
  54.  
  55. /* Data type of load average, as read out of kmem.  */
  56.  
  57. #define LOAD_AVE_TYPE long
  58.  
  59. /* Convert that into an integer that is 100 for a load average of 1.0  */
  60.  
  61. #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
  62.  
  63. /* Say that the text segment of a.out includes the header;
  64.    the header actually occupies the first few bytes of the text segment
  65.    and is counted in hdr.a_text.  */
  66.  
  67. #define A_TEXT_OFFSET(HDR) sizeof (HDR)
  68.  
  69. /* Use dk.h, not dkstat.h, in loadst.c.  */
  70.  
  71. #define DK_HEADER_FILE
  72.  
  73. /* Mask for address bits within a memory segment */
  74.  
  75. #define SEGSIZ 0x20000
  76. #define SEGMENT_MASK (SEGSIZ - 1)
  77.  
  78. #define HAVE_ALLOCA
  79.  
  80. #define SYSTEM_MALLOC
  81.  
  82. #define HAVE_UNIX_DOMAIN
  83.  
  84. #define LIB_X11_LIB -L/usr/lib/X11 -lX11
  85.  
  86. /* This avoids a problem in Xos.h when using co-Xist 3.01.  */
  87. #define X_NOT_POSIX
  88.  
  89. /* Conflicts in process.c between ioctl.h & tty.h use of t_foo fields */
  90.  
  91. #define NO_T_CHARS_DEFINES
  92.  
  93. /* Use our own unexec routines */
  94.  
  95. #define UNEXEC unexnext.o
  96.  
  97. /* We don't have a g library either, so override the -lg LIBS_DEBUG switch */
  98.  
  99. #define LIBS_DEBUG
  100.  
  101. /* We don't have a libgcc.a, so we can't let LIB_GCC default to -lgcc */
  102.  
  103. #define LIB_GCC
  104.  
  105. #if 0  /* ohl@chico.harvard.edu says to do this.  */
  106. /* Compile "strict bsd" to avoid warnings from include files */
  107.  
  108. #define C_SWITCH_MACHINE    -bsd
  109. #endif
  110.  
  111. /* Link this program just by running cc.  */
  112. #define ORDINARY_LINK
  113.  
  114. /* start_of_text isn't actually used, so make it compile without error.  */
  115. #define TEXT_START 0
  116. /* This seems to be right for end_of_text, but it may not be used anyway.  */
  117. #define TEXT_END get_etext ()
  118. /* This seems to be right for end_of_data, but it may not be used anyway.  */
  119. #define DATA_END get_edata ()
  120.  
  121. /* Defining KERNEL_FILE causes lossage because sys/file.h
  122.    stupidly gets confused by it.  */
  123. #undef KERNEL_FILE
  124.  
  125. #define LD_SWITCH_MACHINE -X -noseglinkedit
  126.  
  127. #define environ _environ
  128.  
  129. #if 0 /* This is ok for NeXT system version 3.0 or above.  */
  130. /* Where to find the kernel, for load average.  */
  131. #define KERNEL_FILE "/mach"
  132. #endif
  133.  
  134. /* This should be true for recent NeXT systems.  At least since 3.2.  */
  135. #define HAVE_MACH_MACH_H
  136.